<?php

class SegurancasController extends Controller {

	public $nome = 'Segurancas';
	
	public $useModel = 'Seguranca';

	function index() {
		
		$condicoes = array(
			'where' => array(
				'status' => true
			),
			'order' => array(
				'id ASC'
			)
		);
	
		$s = $this->Seguranca->selectAll($condicoes);
		$this->set('segurancas', $s);
	}
	
	function add() {	
		if(isset($this->data)) {
			if($this->Seguranca->save($this->data)) {
				$this->Sessao->mensagem('sucesso', 'Operação realizada com sucesso!');
				header('Location: ../Segurancas/index');
			} else {
				$this->Sessao->mensagem('erro', 'Ocorreu um erro ao executar a operação. Tente novamente.');
				header('Location: ../Segurancas/index');
			}
		}
	}
	
	function edit() {
		if(isset($_POST['data'])) {
			if($this->Modulo->update($_POST['data'])) {
				$this->Sessao->mensagem('sucesso', 'Atualização feita com sucesso!');
				header('Location: ../Modulos/index');
			} else {
				echo 'deu merda';
			}
		}
		$m = $this->Modulo->select($this->id);
		$this->set('data', $m);
	}
	
	function delete($id = null) {}
	
	function permissoes() {
		$this->useModel('Operacao');
		
		if(isset($this->data)) {
			$modelo = key($this->data);
			$permissoes = array();

			// montando o array no padrão aceito pelo método
			foreach($this->data as $moduloOperacao) {
				$moduloId = $moduloOperacao['modulo_id'];
				$i = 0;
				foreach($moduloOperacao['operacao_id'] as $op) {
					$permissoes[$modelo][$i]['modulo_id'] = $moduloId;
					$permissoes[$modelo][$i]['operacao_id'] = $op;
					$i++;
				}
				unset($i);
			}
			$this->data = $permissoes;
			$delete[$modelo] = array('modulo_id' => $moduloId);
			unset($permissoes, $moduloId, $modelo);
			
			if($this->Modulo->insereRelacionamento($this->data, $delete)) {
				$this->Sessao->mensagem('sucesso', 'Operação realizada com sucesso!');
				header('Location: ../Modulos/index');
			} else {
				$this->Sessao->mensagem('erro', 'Ocorreu um erro ao executar a operação. Tente novamente.');
				header('Location: ../Modulos/index');
			}
		}
		
		$operacoes = $this->Operacao->selectAll(array('where' => array('status' => true), 'fields' => array('id', 'operacao_exibicao')));
		$modulo = $this->Modulo->select($this->id, array('where' => array('status' => true), 'fields' => array('id', 'modulo_exibicao')));
		
		$this->set('operacoes', $operacoes);
		$this->set('modulo', $modulo);
	}
	
	

}
